package vip.xianz.jobmanager.service;


import vip.xianz.jobmanager.data.entity.UserLoginLog;
import vip.xianz.jobmanager.data.entity.XUser;

import java.time.Instant;

/**
 * 用户管理接口
 * @author xian5
 * @date 2019-5-6 21:15:55
 */
public interface IXUserService {
    /**
     * 根据用户id获取用户
     * @param userId
     * @return
     */
    XUser getUserById(String userId);

    /**
     * 添加一个用户
     * @param user
     * @return
     */
    Boolean addUser(XUser user);

    /**
     * 获取用户的基本信息：用户名、性别、年龄、邮箱、昵称，真实姓名
     * @param userId
     * @return
     */
    XUser getUserWithBaseInfo(String userId);

    /**
     * 更新用户
     * @param user
     * @return
     */
    Boolean updateUser(XUser user);

    /**
     * 更新用户登录时间与ip并记录日志
     * @param userId
     * @param log
     * @return
     */
    Boolean updateLoginAndRecoderLog(String userId, UserLoginLog log);
}
